git 中修改檔名且保留原來commit紀錄

提示: 若不依照git 方式修改檔名,以前的commit資訊在新檔名上會看不到!
在 Git 中修改檔名(也就是重新命名檔案)可以透過以下幾種方式完成:

🛠 方法一:使用 git mv 指令(推薦)

這是最直接且能保留 Git 追蹤紀錄的方式:

git mv 舊檔名 新檔名

✅ 範例:

git mv old_file.txt new_file.txt

這樣 Git 會自動記錄這個檔案的重新命名動作,並在下一次 commit 時納入版本控制。


🧼 方法二:手動重新命名 + Git 操作

如果你是在檔案總管或 IDE 中手動改名,也可以透過以下步驟讓 Git 正確追蹤:

mv 舊檔名 新檔名       # 使用 shell 或 IDE 改名
git add 新檔名
git rm 舊檔名

然後 commit:

git commit -m "Rename file from 舊檔名 to 新檔名"

這種方式也有效,但不如 git mv 來得簡潔。


🧠 補充:Git 如何判斷檔案改名?

Git 其實是透過內容比對來判斷是否為「改名」,而不是儲存檔名的歷史。因此使用 git mv 可以讓這個動作更清楚地被記錄。

Also See

File14FileLast Modified
把目前repo 所有的branch都push 到github把目前repo 所有的branch都push 到github2:24 PM - January 12, 2026
把目前 branch 上的修改(尚未 commit 的檔案)直接帶到一個新的 branch把目前 branch 上的修改(尚未 commit 的檔案)直接帶到一個新的 branch2:24 PM - January 12, 2026
從 Windows 把 repo 搬到 WSL再一次性 push 所有 branch 到GitHub 這樣就能避開 aux 檔名問題從 Windows 把 repo 搬到 WSL再一次性 push 所有 branch 到GitHub 這樣就能避開 aux 檔名問題2:24 PM - January 12, 2026
git指定初始化的 branch 名稱git指定初始化的 branch 名稱2:24 PM - January 12, 2026
github上的repo clone下來check out 某一個dev branchgithub上的repo clone下來check out 某一個dev branch2:24 PM - January 12, 2026
github一台電腦同時使用兩個 GitHub 帳號github一台電腦同時使用兩個 GitHub 帳號2:24 PM - January 12, 2026
github actionsgithub actions2:24 PM - January 12, 2026
git 重新再從github上pull 所有branchgit 重新再從github上pull 所有branch2:24 PM - January 12, 2026
Git 裡查看 configurationGit 裡查看 configuration2:24 PM - January 12, 2026
git 恢復到最近一次 git pull狀態,取消本地修改git 恢復到最近一次 git pull狀態,取消本地修改2:24 PM - January 12, 2026
git 初始化與推送流程圖git 初始化與推送流程圖2:24 PM - January 12, 2026
git 中查看commit歷史資訊git 中查看commit歷史資訊2:24 PM - January 12, 2026
git Remote 常見情境與操作git Remote 常見情境與操作2:24 PM - January 12, 2026
git GUI tool, SourceTreegit GUI tool, SourceTree2:24 PM - January 12, 2026